package model;

import common.GridCoordinate;


/**
 * @author Colin
 * 
 * The Upgrade class applies upgrades such as damage increases to 
 * your weapons or health increases to the player.
 * Upgrades are non-playable items so they have no position.
 */
public abstract class Upgrade extends Item {
	public Map map;
	public Player player;
	
	public Upgrade( String name, String imageName, int cost ){
		super( name, imageName, cost );
		
	}
	
	/**
	 * Applies the upgrade to the appropriate elements
	 */
	public abstract void applyUpgrade();
	
	public void setMap(Map map){
		this.map = map;
	}
	
	public void setPlayer(Player player){
		this.player = player;
	}
	
	@Override
	public GridCoordinate getPosition() {
		return null;
	}
	
	public String getUsageDescription(){
		return "Click to buy.";
	}
	
}
